<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Available Resource Plugins - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.application.available-resources.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.application.available-resources.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.application.core-functionality.html">Core Functionality</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.application.html">Zend_Application</a></span><br />
                        <span class="home"><a href="manual.html">Programmer's Reference Guide</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.auth.html">Zend_Auth</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.application.available-resources" class="section"><div class="info"><h1 class="title">Available Resource Plugins</h1></div>
    

    <p class="para">
        Here you&#039;ll find <acronym class="acronym">API</acronym>-like documentation about all resource plugins
        available by default in <span class="classname">Zend_Application</span>.
    </p>

    <div class="section" id="zend.application.available-resources.cachemanager"><div class="info"><h1 class="title">Zend_Application_Resource_Cachemanager</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Cachemanager</span> may be
        utilised to configure a set of <span class="classname">Zend_Cache</span> option
        bundles for use when lazy loading caches using
        <span class="classname">Zend_Cache_Manager</span>
    </p>

    <p class="para">
        As the Cache Manager is a lazy loading mechanism, the options are translated
        to option templates used to instantiate a cache object on request.
    </p>

    <div class="example" id="zend.application.available-resources.cachemanager.configExample"><div class="info"><p><b>Example #1 Sample Cachemanager resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> file showing how
            <span class="classname">Zend_Cache_Manager</span> may be configured. The format
            is the Cachemanager resource prefix (<span class="property">resources.cachemanager</span>)
            followed be the name to assign to an option cache template or bundle (e.g.
            <span class="property">resources.cachemanager.database</span>) and finally followed by a
            typical <span class="classname">Zend_Cache</span> option.
        </p></div>

        <pre class="programlisting brush: ini">
resources.cachemanager.database.frontend.name = Core
resources.cachemanager.database.frontend.customFrontendNaming = false
resources.cachemanager.database.frontend.options.lifetime = 7200
resources.cachemanager.database.frontend.options.automatic_serialization = true
resources.cachemanager.database.backend.name = File
resources.cachemanager.database.backend.customBackendNaming = false
resources.cachemanager.database.backend.options.cache_dir = &quot;/path/to/cache&quot;
resources.cachemanager.database.frontendBackendAutoload = false
</pre>


        <div class="example-contents"><p>
            Actually retrieving this cache from the Cache Manager is as simple as
            accessing an instance of the Manager (<span class="classname">Zend_Cache_Manager</span>)
            retrieved from <span class="classname">Zend_Application_Resource_Cachemanager</span> and
            calling  <span class="methodname">Zend_Cache_Manager::getCache(&#039;database&#039;)</span>. The example
            below is taken from a controller where the bootstrap class can be accessed as
            a Front Controller parameter (which is automatically assigned during bootstrapping).
            As you can see, the Cache Manager Resource implements a
             <span class="methodname">getCacheManager()</span> method to retrieve the bootstrapped instance
            of <span class="classname">Zend_Cache_Manager</span>.
        </p></div>

        <pre class="programlisting brush: php">
$manager = $this-&gt;getFrontController()
            -&gt;getParam(&#039;bootstrap&#039;)
            -&gt;getPluginResource(&#039;cachemanager&#039;)
            -&gt;getCacheManager();
$dbCache = $manager-&gt;getCache(&#039;database&#039;);
</pre>


        <div class="example-contents"><p>
            See  <span class="methodname">Zend_Cache::factory()</span> method to get a
            description of the default values you can assign when configuring a
            cache via a configuration file such as out example <acronym class="acronym">INI</acronym> file above.
        </p></div>
    </div>
</div>
    <div class="section" id="zend.application.available-resources.db"><div class="info"><h1 class="title">Zend_Application_Resource_Db</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Db</span> will initialize a
        <span class="classname">Zend_Db</span> adapter based on the options passed to it. By
        default, it also sets the adapter as the default adapter for use with
        <span class="classname">Zend_Db_Table</span>. If you want to use mutliple databases
        simultaneously, you can use the <a href="zend.application.available-resources.html#zend.application.available-resources.multidb" class="link">Multidb Resource
        Plugin</a>.
    </p>

    <p class="para">
        The following configuration keys are recognized:
    </p>

    <ul class="itemizedlist">
        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">adapter</span></em>: <span class="classname">Zend_Db</span>
                adapter type.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">params</span></em>: associative array of configuration
                parameters to use when retrieving the adapter instance.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">isDefaultTableAdapter</span></em>: whether or not to
                establish this adapter as the default table adapter.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">defaultMetadataCache</span></em>: the name of the
                cache template or an instance of <span class="classname">Zend_Cache_Core</span> to use as
                metadata cache for <span class="classname">Zend_Db_Table</span>.
            </p>
        </li>
    </ul>

    <div class="example" id="zend.application.available-resources.db.configExample"><div class="info"><p><b>Example #2 Sample DB adapter resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is an example <acronym class="acronym">INI</acronym> configuration that can be used to initialize
            the DB resource.
        </p></div>

        <pre class="programlisting brush: ini">
[production]
resources.db.adapter = &quot;pdo_mysql&quot;
resources.db.params.host = &quot;localhost&quot;
resources.db.params.username = &quot;webuser&quot;
resources.db.params.password = &quot;XXXXXXX&quot;
resources.db.params.dbname = &quot;test&quot;
resources.db.isDefaultTableAdapter = true

; Optionally you can also the cache template to use for metadata caching:
resources.db.defaultMetadataCache = &quot;database&quot;
</pre>

    </div>

    <blockquote class="note"><p><b class="note">Note</b>: <span class="info"><b>Retrieving the Adapter instance</b><br /></span>
        

        <p class="para">
            If you choose not to make the adapter instantiated with this
            resource the default table adapter, how do you retrieve the adapter
            instance?
        </p>

        <p class="para">
            As with any resource plugin, you can fetch the DB resource plugin
            from your bootstrap:
        </p>

        <pre class="programlisting brush: php">
$resource = $bootstrap-&gt;getPluginResource(&#039;db&#039;);
</pre>


        <p class="para">
            Once you have the resource object, you can fetch the DB adapter
            using the  <span class="methodname">getDbAdapter()</span> method:
        </p>

        <pre class="programlisting brush: php">
$db = $resource-&gt;getDbAdapter();
</pre>

    </p></blockquote>
</div>
    <div class="section" id="zend.application.available-resources.dojo"><div class="info"><h1 class="title">Zend_Application_Resource_Dojo</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Dojo</span> can be used
        to configure the <span class="classname">Zend_Dojo</span> viewhelpers.
    </p>

    <div class="example" id="zend.application.available-resources.dojo.configExample"><div class="info"><p><b>Example #3 Sample Dojo resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> file showing how
            <span class="classname">Zend_Dojo</span> can be enabled.
        </p></div>

        <pre class="programlisting brush: ini">
resources.dojo.enable = true ; Always load the Dojo javascript files
</pre>


        <div class="example-contents"><p>
            The <span class="classname">Zend_Dojo</span> resource plugin utilises the options for the
             <span class="methodname">Zend_Dojo_View_Helper_Dojo_Container::setOptions()</span> to
            configure the viewhelpers. Please see the <a href="zend.dojo.html" class="link">Zend_Dojo</a>
            chapter for full descriptions and available options.
        </p></div>
    </div>
</div>
    <div class="section" id="zend.application.available-resources.frontcontroller"><div class="info"><h1 class="title">Zend_Application_Resource_Frontcontroller</h1></div>
    

    <p class="para">
        Probably the most common resource you will load with
        <span class="classname">Zend_Application</span> will be the Front Controller resource,
        which provides the ability to configure
        <span class="classname">Zend_Controller_Front</span>. This resource provides the ability
        to set arbitrary front controller parameters, specify plugins to
        initialize, and much more.
    </p>

    <p class="para">
        Once initialized, the resource assigns the <var class="varname">$frontController</var>
        property of the bootstrap to the <span class="classname">Zend_Controller_Front</span>
        instance.
    </p>

    <p class="para">
        Available configuration keys include the following, and are case
        insensitive:
    </p>

    <ul class="itemizedlist">
        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">controllerDirectory</span></em>: either a string value
                specifying a single controller directory, or an array of
                module to controller directory pairs.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">moduleControllerDirectoryName</span></em>: a string
                value indicating the subdirectory under a module that contains controllers.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">moduleDirectory</span></em>: directory under which
                modules may be found.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">defaultControllerName</span></em>: base name of the
                default controller (normally &quot;index&quot;).
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">defaultAction</span></em>: base name of the default
                action (normally &quot;index&quot;).
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">defaultModule</span></em>: base name of the default
                module (normally &quot;default&quot;).
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">baseUrl</span></em>: explicit base
                <acronym class="acronym">URL</acronym> to the application (normally auto-detected).
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">plugins</span></em>: array of front controller plugin
                class names. The resource will instantiate each class (with no constructor
                arguments) and then register the instance with the front controller. If you want to
                register a plugin with a particular stack index, you need to provide an array with
                two keys <span class="property">class</span> and <span class="property">stackIndex</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">params</span></em>: array of key to value pairs to
                register with the front controller.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">returnresponse</span></em>: whether or not to return
                the response object after dispatching the front controller. Value should be a
                boolean; by default, this is disabled.
            </p>
        </li>
    </ul>

    <p class="para">
        If an unrecognized key is provided, it is registered as a front
        controller parameter by passing it to  <span class="methodname">setParam()</span>.
    </p>

    <div class="example" id="zend.application.available-resources.frontcontroller.configExample"><div class="info"><p><b>Example #4 Sample Front Controller resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to configure the front
            controller resource.
        </p></div>

        <pre class="programlisting brush: ini">
[production]
resources.frontController.controllerDirectory = APPLICATION_PATH &quot;/controllers&quot;
resources.frontController.moduleControllerDirectoryName = &quot;actions&quot;
resources.frontController.moduleDirectory = APPLICATION_PATH &quot;/modules&quot;
resources.frontController.defaultControllerName = &quot;site&quot;
resources.frontController.defaultAction = &quot;home&quot;
resources.frontController.defaultModule = &quot;static&quot;
resources.frontController.baseUrl = &quot;/subdir&quot;
resources.frontController.plugins.foo = &quot;My_Plugin_Foo&quot;
resources.frontController.plugins.bar = &quot;My_Plugin_Bar&quot;
resources.frontController.plugins.baz.class = &quot;My_Plugin_Baz&quot;
resources.frontController.plugins.baz.stackIndex = 123
resources.frontController.returnresponse = 1
resources.frontController.env = APPLICATION_ENV

; The following proxies to:
; Zend_Controller_Action_HelperBroker::addPath(&#039;Helper_Path&#039;, $helperPrefix);
resources.frontController.actionHelperPaths.HELPER_Prefix = &quot;My/Helper/Path&quot;
</pre>

    </div>

    <div class="example" id="zend.application.available-resources.frontcontroller.propertyExample"><div class="info"><p><b>Example #5 Retrieving the Front Controller in your bootstrap</b></p></div>
        

        <div class="example-contents"><p>
            Once your Front Controller resource has been initialized, you can
            fetch the Front Controller instance via the
            <var class="varname">$frontController</var> property of your bootstrap.
        </p></div>

        <pre class="programlisting brush: php">
$bootstrap-&gt;bootstrap(&#039;frontController&#039;);
$front = $bootstrap-&gt;frontController;
</pre>

    </div>
</div>
    <div class="section" id="zend.application.available-resources.layout"><div class="info"><h1 class="title">Zend_Application_Resource_Layout</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Layout</span> can be used to
        configure <span class="classname">Zend_Layout</span>. Configuration options are
        per <a href="zend.layout.options.html" class="link">the <span class="classname">Zend_Layout
        </span> options</a>.
    </p>

    <div class="example" id="zend.application.available-resources.layout.configExample"><div class="info"><p><b>Example #6 Sample Layout configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to
            configure the layout resource.
        </p></div>

        <pre class="programlisting brush: ini">
resources.layout.layout = &quot;NameOfDefaultLayout&quot;
resources.layout.layoutPath = &quot;/path/to/layouts&quot;
</pre>

    </div>
</div>
    <div class="section" id="zend.application.available-resources.locale"><div class="info"><h1 class="title">Zend_Application_Resource_Locale</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Locale</span> can be used to
        set an application-wide locale which is then used in all classes and components
        which work with localization or internationalization. By default the locale is
        saved in a <span class="classname">Zend_Registry</span> entry with key
        &#039;<span class="property">Zend_Locale</span>&#039;.
    </p>

    <p class="para">
        There are basically three usecases for the Locale Resource Plugin. Each of them
        should be used depending on the applications need.
    </p>

    <div class="section" id="zend.application.available-resources.locale.auto"><div class="info"><h1 class="title">Autodetect the locale to use</h1></div>
        

        <p class="para">
            Without specifying any options for
            <span class="classname">Zend_Application_Resource_Locale</span>,
            <span class="classname">Zend_Locale</span> will detect the locale, which your application will
            use, automatically.
        </p>

        <p class="para">
            This detection works because your client sends the wished language within his
            <acronym class="acronym">HTTP</acronym> request. Normally the clients browser sends the languages he
            wants to see, and <span class="classname">Zend_Locale</span> uses this information for
            detection.
        </p>

        <p class="para">
            But there are 2 problems with this approach:
        </p>

        <ul class="itemizedlist">
            <li class="listitem">
                <p class="para">
                    The browser could be setup to send no language
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    The user could have manually set a locale which does not exist
                </p>
            </li>
        </ul>

        <p class="para">
            In both cases <span class="classname">Zend_Locale</span> will fallback to other mechanism to
            detect the locale:
        </p>

        <ul class="itemizedlist">
            <li class="listitem">
                <p class="para">
                    When a locale has been set which does not exist,
                    <span class="classname">Zend_Locale</span> tries to downgrade this string.
                </p>

                <p class="para">
                    When, for example, <em class="emphasis">en_ZZ</em> is set it will automatically
                    be degraded to <em class="emphasis">en</em>. In this case <em class="emphasis">en</em>
                    will be used as locale for your application.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    When the locale could also not be detected by downgrading, the locale of your
                    environment (web server) will be used. Most available environments from
                    Web Hosters use <em class="emphasis">en</em> as locale.
                </p>
            </li>

            <li class="listitem">
                <p class="para">
                    When the systems locale could not be detected <span class="classname">Zend_Locale</span>
                    will use it&#039;s default locale, which is set to <em class="emphasis">en</em> per
                    default.
                </p>
            </li>
        </ul>

        <p class="para">
            For more informations about locale detection take a look into <a href="zend.locale.introduction.html#zend.locale.selection.automatic" class="link">this chapter on Zend_Locale&#039;s automatic
                detection</a>.
        </p>
    </div>

    <div class="section" id="zend.application.available-resources.locale.fallback"><div class="info"><h1 class="title">Autodetect the locale and adding a own fallback</h1></div>
        

        <p class="para">
            The above autodetection could lead to problems when the locale could not be detected and
            you want to have another default locale than <em class="emphasis">en</em>. To prevent this,
            <span class="classname">Zend_Application_Resource_Locale</span> allows you to set a own locale
            which will be used in the case that the locale could not be detected.
        </p>

        <div class="example" id="zend.application.available-resources.locale.configExampleDetectAndFallback"><div class="info"><p><b>Example #7 Autodetect locale and setting a fallback</b></p></div>
            

            <div class="example-contents"><p>
                The following snippet shows how to set a own default locale which will be used when
                the client does not send a locale himself.
            </p></div>

            <pre class="programlisting brush: ini">
; Try to determine automatically first,
; if unsuccessful, use nl_NL as fallback.
resources.locale.default = &quot;nl_NL&quot;
</pre>

        </div>
    </div>

    <div class="section" id="zend.application.available-resources.locale.forcing"><div class="info"><h1 class="title">Forcing a specific locale to use</h1></div>
        

        <p class="para">
            Sometimes it is useful to define a single locale which has to be used. This can be done
            by using the <span class="property">force</span> option.
        </p>

        <p class="para">
            In this case this single locale will be used and the automatic detection is turned
            off.
        </p>

        <div class="example" id="zend.application.available-resources.locale.configExampleFallbackOnly"><div class="info"><p><b>Example #8 Defining a single locale to use</b></p></div>
            

            <div class="example-contents"><p>
                The following snippet shows how to set a single locale for your entire application.
            </p></div>

            <pre class="programlisting brush: ini">
; No matter what, the nl_NL locale will be used.
resources.locale.default = &quot;nl_NL&quot;
resources.locale.force = true
</pre>

        </div>
    </div>

    <div class="section" id="zend.application.available-resources.locale.cache"><div class="info"><h1 class="title">Configure cache template</h1></div>
        

        <p class="para">
            When you have set no cache, <span class="classname">Zend_Locale</span> will set itself a cache 
            with the file backend by default. But if you want to choose the backend or others 
            options, you can use the name of a cache template or an instance of
            <span class="classname">Zend_Cache_Core</span>.
            For more informations look into <a href="zend.locale.introduction.html#zend.locale.cache" class="xref">Speed up Zend_Locale and its subclasses</a>.
        </p>

        <div class="example" id="zend.application.available-resources.locale.configExampleCache"><div class="info"><p><b>Example #9 Defining a cache template to use</b></p></div>
            

            <pre class="programlisting brush: ini">
; Optionally you can also the cache template to use for caching:
resources.locale.cache = &quot;locale&quot;
</pre>

        </div>
    </div>
</div>
    <div class="section" id="zend.application.available-resources.log"><div class="info"><h1 class="title">Zend_Application_Resource_Log</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Log</span> to instantiate a
        <span class="classname">Zend_Log</span> instance with an arbitrary number of log writers.
        Configuration will be passed to the  <span class="methodname">Zend_Log::factory()</span> method,
        allowing you to specify combinations of log writers and filters. The log instance may then
        be retrieved from the bootstrap later in order to log events.
    </p>

    <div class="example" id="zend.application.available-resources.log.configExample"><div class="info"><p><b>Example #10 Sample Log Resource Configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to
            configure the log resource.
        </p></div>

        <pre class="programlisting brush: ini">
resources.log.stream.writerName = &quot;Stream&quot;
resources.log.stream.writerParams.stream = APPLICATION_PATH &quot;/../data/logs/application.log&quot;
resources.log.stream.writerParams.mode = &quot;a&quot;
resources.log.stream.filterName = &quot;Priority&quot;
resources.log.stream.filterParams.priority = 4
</pre>


        <div class="example-contents"><p>
            For more information on available options, please review the <a href="zend.log.factory.html" class="link">Zend_Log::factory() documentation</a>.
        </p></div>
    </div>
</div>
    <div class="section" id="zend.application.available-resources.mail"><div class="info"><h1 class="title">Zend_Application_Resource_Mail</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Mail</span> can be used
        to instantiate a transport for <span class="classname">Zend_Mail</span> or set
        the default name and address, as well as the default replyto- name and address.
    </p>

    <p class="para">
        When instantiating a transport, it&#039;s registered automatically to
        <span class="classname">Zend_Mail</span>. Though, by setting the
        <span class="property">transport.register</span> directive to <b><tt>FALSE</tt></b>, this
        behaviour does no more occur.
    </p>

    <div class="example" id="zend.application.available-resources.mail.configExample"><div class="info"><p><b>Example #11 Sample Mail Resource Configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to
            configure the mail resource plugin.
        </p></div>

        <pre class="programlisting brush: ini">
resources.mail.transport.type = smtp
resources.mail.transport.host = &quot;smtp.example.com&quot;
resources.mail.transport.auth = login
resources.mail.transport.username = myUsername
resources.mail.transport.password = myPassword
resources.mail.transport.register = true ; True by default

resources.mail.defaultFrom.email = john@example.com
resources.mail.defaultFrom.name = &quot;John Doe&quot;
resources.mail.defaultReplyTo.email = Jane@example.com
resources.mail.defaultReplyTo.name = &quot;Jane Doe&quot;
</pre>


    </div>
</div>
    <div class="section" id="zend.application.available-resources.modules"><div class="info"><h1 class="title">Zend_Application_Resource_Modules</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Modules</span> is used to initialize
        your application modules. If your module has a
        <var class="filename">Bootstrap.php</var> file in its root, and it contains a class
        named <span class="classname">Module_Bootstrap</span> (where &quot;Module&quot; is the module name),
        then it will use that class to bootstrap the module.
    </p>

    <p class="para">
        By default, an instance of
        <span class="classname">Zend_Application_Module_Autoloader</span> will be created for the
        module, using the module name and directory to initialize it.
    </p>

    <p class="para">
        Since the Modules resource does not take any arguments by default, in order to enable it
        via configuration, you need to create it as an empty array. In <acronym class="acronym">INI</acronym> style
        configuration, this looks like:
    </p>

    <pre class="programlisting brush: ini">
resources.modules[] =
</pre>


    <p class="para">
        In <acronym class="acronym">XML</acronym> style configuration, this looks like:
    </p>

    <pre class="programlisting brush: xml">
&lt;resources&gt;
    &lt;modules&gt;
        &lt;!-- Placeholder to ensure an array is created --&gt;
        &lt;placeholder /&gt;
    &lt;/modules&gt;
&lt;/resources&gt;
</pre>


    <p class="para">
        Using a standard <acronym class="acronym">PHP</acronym> array, simply create it as an empty array:
    </p>

    <pre class="programlisting brush: php">
$options = array(
    &#039;resources&#039; =&gt; array(
        &#039;modules&#039; =&gt; array(),
    ),
);
</pre>


    <blockquote class="note"><p><b class="note">Note</b>: <span class="info"><b>Front Controller Resource Dependency</b><br /></span>
        

        <p class="para">
            The Modules resource has a dependency on the <a href="zend.application.available-resources.html#zend.application.available-resources.frontcontroller" class="link">Front
            Controller resource</a>. You can, of course, provide your own
            replacement for that resource via a custom Front Controller resource
            class or a class initializer method -- so long as the resource
            plugin class ends in &quot;Frontcontroller&quot; or the initializer method is
            named &quot;_initFrontController&quot; (case insensitive).
        </p>
    </p></blockquote>

    <div class="example" id="zend.application.available-resources.modules.configExample"><div class="info"><p><b>Example #12 Configuring Modules</b></p></div>
        

        <div class="example-contents"><p>
            You can specify module-specific configuration using the module name
            as a prefix or sub-section in your configuration file.
        </p></div>

        <div class="example-contents"><p>
            For example, let&#039;s assume that your application has a &quot;news&quot; module.
            The following are <acronym class="acronym">INI</acronym> and <acronym class="acronym">XML</acronym> examples showing
            configuration of resources in that module.
        </p></div>

        <pre class="programlisting brush: ini">
[production]
news.resources.db.adapter = &quot;pdo_mysql&quot;
news.resources.db.params.host = &quot;localhost&quot;
news.resources.db.params.username = &quot;webuser&quot;
news.resources.db.params.password = &quot;XXXXXXX&quot;
news.resources.db.params.dbname = &quot;news&quot;
</pre>


        <pre class="programlisting brush: xml">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;config&gt;
    &lt;production&gt;
        &lt;news&gt;
            &lt;resources&gt;
                &lt;db&gt;
                    &lt;adapter&gt;pdo_mysql&lt;/adapter&gt;
                    &lt;params&gt;
                        &lt;host&gt;localhost&lt;/host&gt;
                        &lt;username&gt;webuser&lt;/username&gt;
                        &lt;password&gt;XXXXXXX&lt;/password&gt;
                        &lt;dbname&gt;news&lt;/dbname&gt;
                    &lt;/params&gt;
                    &lt;isDefaultAdapter&gt;true&lt;/isDefaultAdapter&gt;
                &lt;/db&gt;
            &lt;/resources&gt;
        &lt;/news&gt;
    &lt;/production&gt;
&lt;/config&gt;
</pre>

    </div>

    <div class="example" id="zend.application.available-resources.modules.retrieveBootstrapExample"><div class="info"><p><b>Example #13 Retrieving a specific module bootstrap</b></p></div>
        

        <div class="example-contents"><p>
            On occasion, you may need to retrieve the bootstrap object for a
            specific module -- perhaps to run discrete bootstrap methods, or to
            fetch the autoloader in order to configure it. This can be done
            using the Modules resource&#039;s  <span class="methodname">getExecutedBootstraps()</span>
            method.
        </p></div>

        <pre class="programlisting brush: php">
$resource = $bootstrap-&gt;getPluginResource(&#039;modules&#039;);
$moduleBootstraps = $resource-&gt;getExecutedBootstraps();
$newsBootstrap = $moduleBootstraps[&#039;news&#039;];
</pre>

    </div>
</div>
    <div class="section" id="zend.application.available-resources.multidb"><div class="info"><h1 class="title">Zend_Application_Resource_Multidb</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Multidb</span> is used to initialize
        multiple Database connections. You can use the same options as you can with
        the <a href="zend.application.available-resources.html#zend.application.available-resources.db" class="link">Db Resource Plugin</a>.
        However, for specifying a default connection, you can also use the &#039;default&#039; directive.
    </p>

    <div class="example" id="zend.application.available-resources.multidb.configexample"><div class="info"><p><b>Example #14 Setting up multiple Db Connections</b></p></div>
        

        <div class="example-contents"><p>
            Below is an example <acronym class="acronym">INI</acronym> configuration that can be used to initialize
            two Db Connections.
        </p></div>

        <pre class="programlisting brush: ini">
[production]
resources.multidb.db1.adapter = &quot;pdo_mysql&quot;
resources.multidb.db1.host = &quot;localhost&quot;
resources.multidb.db1.username = &quot;webuser&quot;
resources.multidb.db1.password = &quot;XXXX&quot;
resources.multidb.db1.dbname = &quot;db1&quot;

resources.multidb.db2.adapter = &quot;pdo_pgsql&quot;
resources.multidb.db2.host = &quot;example.com&quot;
resources.multidb.db2.username = &quot;dba&quot;
resources.multidb.db2.password = &quot;notthatpublic&quot;
resources.multidb.db2.dbname = &quot;db2&quot;
resources.multidb.db2.default = true
</pre>

    </div>

    <div class="example" id="zend.application.available-resources.multidb.retrieveSpecificDb"><div class="info"><p><b>Example #15 Retrieving a specific database adapter</b></p></div>
        

        <div class="example-contents"><p>
            When using this resource plugin you usually will want to retrieve
            a specific database. This can be done by using the resource&#039;s
             <span class="methodname">getDb()</span>. The method
             <span class="methodname">getDb()</span> returns an instance of a class that
            extends <span class="classname">Zend_Db_Adapter_Abstract</span>. If you have not
            set a default database, an exception will be thrown when this method
            is called without specifying a parameter.
         </p></div>

        <pre class="programlisting brush: php">
$resource = $bootstrap-&gt;getPluginResource(&#039;multidb&#039;);
$db1 = $resource-&gt;getDb(&#039;db1&#039;);
$db2 = $resource-&gt;getDb(&#039;db2&#039;);
$defaultDb = $resource-&gt;getDb();
</pre>

    </div>

    <div class="example" id="zend.application.available-resources.multidb.retrieveDefaultDb"><div class="info"><p><b>Example #16 Retrieving the default database adapter</b></p></div>
        

        <div class="example-contents"><p>
            Additionally, you can retrieve the default database adapter
            by using the method  <span class="methodname">getDefaultDb()</span>.
            If you have not set a default adapter, the first configured db
            adapter will be returned. Unless you specify <b><tt>FALSE</tt></b>
            as first parameter, then <b><tt>NULL</tt></b>
            will be returned when no default database adapter was set.
         </p></div>

        <div class="example-contents"><p>
            Below is an example that assumes the Multidb resource plugin has been configured
            with the <acronym class="acronym">INI</acronym> sample above:
        </p></div>

        <pre class="programlisting brush: php">
$resource = $bootstrap-&gt;getPluginResource(&#039;multidb&#039;);
$db2 = $resource-&gt;getDefaultDb();

// Same config, but now without a default db:
$db1 = $resource-&gt;getDefaultDb();
$null = $resource-&gt;getDefaultDb(false); // null
</pre>

    </div>
</div>
    <div class="section" id="zend.application.available-resources.navigation"><div class="info"><h1 class="title">Zend_Application_Resource_Navigation</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Navigation</span> can be used to configure
        a <span class="classname">Zend_Navigation</span> instance. Configuration options are per <a href="zend.navigation.pages.html#zend.navigation.pages.common.options" class="link">the
            <span class="classname">Zend_Navigation</span> options</a>.
    </p>

    <p class="para">
        Once done configuring the navigation instance, it assigns the instance to
        <span class="classname">Zend_View_Helper_Navigation</span> by default
        -- from which you may retrieve it later.
    </p>

    <div class="example" id="zend.application.available-resources.navigation.configExample"><div class="info"><p><b>Example #17 Sample Navigation resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to
            configure the navigation resource.
        </p></div>

        <pre class="programlisting brush: ini">
resources.navigation.pages.page1.label = &quot;Label of the first page&quot;
resources.navigation.pages.page1.route = &quot;Route that belongs to the first page&quot;

; Page 2 is a subpage of page 1
resources.navigation.pages.page1.pages.page2.type = &quot;Zend_Navigation_Page_Uri&quot;
resources.navigation.pages.page1.pages.page2.label = &quot;Label of the second page&quot;
resources.navigation.pages.page1.pages.page2.uri = &quot;/url/to/page/2&quot;
</pre>

    </div>
</div>
    <div class="section" id="zend.application.available-resources.router"><div class="info"><h1 class="title">Zend_Application_Resource_Router</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Router</span> can be used to
        configure the router as it is registered with the Front Controller.
        Configuration options are per <a href="zend.controller.router.html#zend.controller.router.routes.standard" class="link">the
            <span class="classname">Zend_Controller_Router_Route</span> options</a>.
    </p>

    <div class="example" id="zend.application.available-resources.router.configExample"><div class="info"><p><b>Example #18 Sample Router Resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to
            configure the router resource.
        </p></div>

        <pre class="programlisting brush: ini">
resources.router.routes.route_id.route = &quot;/login&quot;
resources.router.routes.route_id.defaults.module = &quot;user&quot;
resources.router.routes.route_id.defaults.controller = &quot;login&quot;
resources.router.routes.route_id.defaults.action = &quot;index&quot;

; Optionally you can also set a Chain Name Separator:
resources.router.chainNameSeparator = &quot;_&quot;
</pre>


        <div class="example-contents"><p>For more information on the Chain Name Separator, please see
            <a href="zend.controller.router.html#zend.controller.router.routes.chain.config" class="link">its section</a>.
        </p></div>
    </div>
</div>
    <div class="section" id="zend.application.available-resources.session"><div class="info"><h1 class="title">Zend_Application_Resource_Session</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Session</span> allows you to configure
        <span class="classname">Zend_Session</span> as well as optionally initialize a session
        SaveHandler.
    </p>

    <p class="para">
        To set a session save handler, simply pass the <span class="property">saveHandler</span>
        (case insensitive) option key to the resource. The value of this option
        may be one of the following:
    </p>

    <ul class="itemizedlist">
        <li class="listitem">
            <p class="para">
                <span class="type">String</span>: A string indicating a class implementing
                <span class="classname">Zend_Session_SaveHandler_Interface</span> that should be
                instantiated.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <span class="type">Array</span>: An array with the keys &quot;class&quot; and, optionally,
                &quot;options&quot;, indicating a class implementing
                <span class="classname">Zend_Session_SaveHandler_Interface</span> that should be
                instantiated and an array of options to provide to its constructor.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <span class="classname">Zend_Session_SaveHandler_Interface</span>: an object
                implementing this interface.
            </p>
        </li>
    </ul>

    <p class="para">
        Any other option keys passed will be passed to
         <span class="methodname">Zend_Session::setOptions()</span> to configure
        <span class="classname">Zend_Session</span>.
    </p>

    <div class="example" id="zend.application.available-resources.session.configExample"><div class="info"><p><b>Example #19 Sample Session resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to configure the session
            resource. It sets several <span class="classname">Zend_Session</span> options, as well
            as configures a <span class="classname">Zend_Session_SaveHandler_DbTable</span> instance.
        </p></div>

        <pre class="programlisting brush: ini">
resources.session.save_path = APPLICATION_PATH &quot;/../data/session&quot;
resources.session.use_only_cookies = true
resources.session.remember_me_seconds = 864000
resources.session.saveHandler.class = &quot;Zend_Session_SaveHandler_DbTable&quot;
resources.session.saveHandler.options.name = &quot;session&quot;
resources.session.saveHandler.options.primary[] = &quot;session_id&quot;
resources.session.saveHandler.options.primary[] = &quot;save_path&quot;
resources.session.saveHandler.options.primary[] = &quot;name&quot;
resources.session.saveHandler.options.primaryAssignment[] = &quot;sessionId&quot;
resources.session.saveHandler.options.primaryAssignment[] = &quot;sessionSavePath&quot;
resources.session.saveHandler.options.primaryAssignment[] = &quot;sessionName&quot;
resources.session.saveHandler.options.modifiedColumn = &quot;modified&quot;
resources.session.saveHandler.options.dataColumn = &quot;session_data&quot;
resources.session.saveHandler.options.lifetimeColumn = &quot;lifetime&quot;
</pre>

    </div>

    <blockquote class="note"><p><b class="note">Note</b>: <span class="info"><b>Bootstrap your database first!</b><br /></span>
        

        <p class="para">
            If you are configuring the
            <span class="classname">Zend_Session_SaveHandler_DbTable</span> session save
            handler, you must first configure your database connection for it to
            work. Do this by either using the <a href="zend.application.available-resources.html#zend.application.available-resources.db" class="link">Db</a>
            resource -- and make sure the &quot;<span class="property">resources.db</span>&quot; key comes prior to
            the &quot;<span class="property">resources.session</span>&quot; key -- or by writing your own resource
            that initializes the database, and specifically sets the default
            <span class="classname">Zend_Db_Table</span> adapter.
        </p>
    </p></blockquote>
</div>
    <div class="section" id="zend.application.available-resources.translate"><div class="info"><h1 class="title">Zend_Application_Resource_Translate</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_Translate</span> will initialize a
        <span class="classname">Zend_Translate</span> adapter based on the options passed to it.
    </p>

    <p class="para">
        The following configuration keys are recognized:
    </p>

    <ul class="itemizedlist">
        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">adapter</span></em> : <span class="classname">Zend_Translate
                </span> adapter type. The default adapter is array if not specified.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">data</span></em> : path to translation.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">locale</span></em> : defining the locale to be used
                in translation. By default, the locale can be detected automatically or forcing
                with a <span class="classname">Zend_Locale</span> instance store in <span class="classname">
                Zend_Registry</span> with a single locale.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">options</span></em> : the options are different for
                each adapter. See the section <a href="zend.translate.additional.html#zend.translate.additional.options" class="xref">Options for adapters</a> for
                more details.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">registry</span></em> : the custom key to store the
                <span class="classname">Zend_Translate</span> instance in the registry. By default, the
                key is <span class="property">Zend_Translate</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis"><span class="property">cache</span></em> : the name of the cache template
                or an instance of <span class="classname">Zend_Cache_Core</span> to use as cache for
                <span class="classname">Zend_Translate_Adapter</span>. The goal is to accelerate the
                loading specialy for the <acronym class="acronym">XML</acronym> based files.
            </p>
        </li>
    </ul>

    <div class="example" id="zend.application.available-resources.translate.configExample"><div class="info"><p><b>Example #20 Sample translate adapter resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is an example <acronym class="acronym">INI</acronym> configuration that can be used to initialize
            the translate resource.
        </p></div>

        <pre class="programlisting brush: ini">
resources.translate.adapter = tmx
resources.translate.content = APPLICATION_PATH &quot;/../data/locales&quot;
resources.translate.scan = Zend_Translate::LOCALE_DIRECTORY

; Optionally you can also the cache template to use for caching:
resources.translate.cache = &quot;languages&quot;
</pre>

    </div>
</div>
    <div class="section" id="zend.application.available-resources.useragent"><div class="info"><h1 class="title">Zend_Application_Resource_Useragent</h1></div>
    

    <div class="section" id="zend.application.available-resources.useragent.intro"><div class="info"><h1 class="title">Overview</h1></div>
        

        <p class="para">
            This resource provides the ability to configure and instantiate <a href="zend.http.user-agent.html" class="link">Zend_Http_UserAgent</a> for use within your
            application.
        </p>
    </div>

    <div class="section" id="zend.application.available-resources.useragent.quick-start"><div class="info"><h1 class="title">Quick Start</h1></div>
        

        <p class="para">
            Using <span class="classname">Zend_Http_UserAgent</span>, including usage of the application
            resource, is covered in the <a href="zend.http.user-agent.html#zend.http.user-agent.quick-start" class="link">UserAgent quick start</a>. Below is a
            quick summary of typical options you might provide.
        </p>

        <pre class="programlisting brush: ini">
resources.useragent.wurflapi.wurfl_api_version = &quot;1.1&quot;
resources.useragent.wurflapi.wurfl_lib_dir = APPLICATION_PATH &quot;/../library/Wurfl/1.1&quot;
resources.useragent.wurflapi.wurfl_config_file = APPLICATION_PATH &quot;/../library/Wurfl/1.1/resources/wurfl-config.php&quot;
</pre>

    </div>

    <div class="section" id="zend.application.available-resources.useragent.options"><div class="info"><h1 class="title">Configuration Options</h1></div>
        

        <p class="para">
            Please see the <a href="zend.http.user-agent.html#zend.http.user-agent.options" class="link">UserAgent options
                section</a> for details on available options.
        </p>
    </div>

    <div class="section" id="zend.application.available-resources.useragent.methods"><div class="info"><h1 class="title">Available Methods</h1></div>
        

        <dl>

            <dt id="zend.application.available-resources.useragent.methods.init">
                <dt class="term">
                    <div class="methodsynopsis dc-description">
                         <span class="methodname">init</span>
                    </div>

                </dt>

                <dd>

                    <p class="para">
                        Called by the bootstrap object to initialize the resource. Calls the
                         <span class="methodname">getUserAgent()</span> method first (and returns the instance
                        returned by that method); then, if the &quot;view&quot; resource is available, retrieves
                        it and injects the <span class="classname">UserAgent</span> instance into the
                        <span class="classname">UserAgent</span> view helper.
                    </p>
                </dd>

            </dt>


            <dt id="zend.application.available-resources.useragent.methods.get-user-agent">
                <dt class="term">
                    <div class="methodsynopsis dc-description">
                         <span class="methodname">getUserAgent</span>
                    </div>

                </dt>

                <dd>

                    <p class="para">
                        Instantiates a <span class="classname">Zend_Http_UserAgent</span> instance, using the
                        configuration options provided in the application configuration.
                    </p>
                </dd>

            </dt>

        </dl>

    </div>
</div>
    <div class="section" id="zend.application.available-resources.view"><div class="info"><h1 class="title">Zend_Application_Resource_View</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Application_Resource_View</span> can be used to configure
        a <span class="classname">Zend_View</span> instance. Configuration options are per <a href="zend.view.introduction.html#zend.view.introduction.options" class="link">the <span class="classname">Zend_View</span>
            options</a>.
    </p>

    <p class="para">
        Once done configuring the view instance, it creates an instance of
        <span class="classname">Zend_Controller_Action_Helper_ViewRenderer</span> and registers
        the ViewRenderer with <span class="classname">Zend_Controller_Action_HelperBroker</span>
        -- from which you may retrieve it later.
    </p>

    <div class="example" id="zend.application.available-resources.view.configExample"><div class="info"><p><b>Example #21 Sample View resource configuration</b></p></div>
        

        <div class="example-contents"><p>
            Below is a sample <acronym class="acronym">INI</acronym> snippet showing how to configure the view
            resource.
        </p></div>

        <pre class="programlisting brush: ini">
resources.view.encoding = &quot;UTF-8&quot;
resources.view.basePath = APPLICATION_PATH &quot;/views/&quot;
</pre>

    </div>

    <div class="section" id="zend.application.available-resources.view.doctype"><div class="info"><h1 class="title">Defining doctype to use</h1></div>
         

         <p class="para">
             If you want to obtain more information about values, see <a href="zend.view.helpers.html#zend.view.helpers.initial.doctype" class="link">Doctype Helper
             </a>.
         </p>

         <div class="example" id="zend.application.available-resources.view.doctypeExample"><div class="info"><p><b>Example #22 Sample doctype configuration</b></p></div>
             

             <div class="example-contents"><p>
                 The following snippet shows how to set a doctype.
             </p></div>

             <pre class="programlisting brush: ini">
resources.view.doctype = &quot;HTML5&quot;
</pre>

         </div>
     </div>

     <div class="section" id="zend.application.available-resources.view.contentType"><div class="info"><h1 class="title">Defining content type and encoding to use</h1></div>
        

         <p class="para">
             If you want to obtain more information about values, see <a href="zend.view.helpers.html#zend.view.helpers.initial.headmeta" class="link">HeadMeta Helper
             </a>.
         </p>

         <div class="example" id="zend.application.available-resources.view.contentTypeExample"><div class="info"><p><b>Example #23 Sample content type and encoding configuration</b></p></div>
             

             <div class="example-contents"><p>
                 The following snippet shows how to set a meta Content-Type.
             </p></div>

            <pre class="programlisting brush: ini">
resources.view.contentType = &quot;text/html; charset=UTF-8&quot;
</pre>

         </div>

        <div class="example" id="zend.application.available-resources.view.charsetExample"><div class="info"><p><b>Example #24 Sample encoding configuration for a HTML5 document</b></p></div>
            

            <div class="example-contents"><p>
                The following snippet shows how to set a meta charset in HTML5-style.
            </p></div>

            <pre class="programlisting brush: ini">
resources.view.doctype = &quot;HTML5&quot;
resources.view.charset = &quot;UTF-8&quot;
</pre>

        </div>
     </div>
</div>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.application.core-functionality.html">Core Functionality</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.application.html">Zend_Application</a></span><br />
                        <span class="home"><a href="manual.html">Programmer's Reference Guide</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.auth.html">Zend_Auth</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Programmer's Reference Guide</a></li>
  <li class="header up"><a href="manual.html">Programmer's Reference Guide</a></li>
  <li class="header up"><a href="reference.html">Zend Framework Reference</a></li>
  <li class="header up"><a href="zend.application.html">Zend_Application</a></li>
  <li><a href="zend.application.introduction.html">Introduction</a></li>
  <li><a href="zend.application.quick-start.html">Zend_Application Quick Start</a></li>
  <li><a href="zend.application.theory-of-operation.html">Theory of Operation</a></li>
  <li><a href="zend.application.examples.html">Examples</a></li>
  <li><a href="zend.application.core-functionality.html">Core Functionality</a></li>
  <li class="active"><a href="zend.application.available-resources.html">Available Resource Plugins</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>